package com.freshman_registration.service;

import com.freshman_registration.pojo.Notice;
import com.freshman_registration.util.Result;

import java.util.List;


public interface NoticeService {
    /**
     * 添加公告
     * @param notice 公告实体对象
     * @return 包含操作结果的Result对象
     */
    Result<?> insertNotice(Notice notice);

    /**
     * 更新公告
     * @param notice 公告实体对象
     * @return 包含操作结果的Result对象
     */
    Result<?> updateNotice(Notice notice);

    /**
     * 根据ID查询公告
     * @param id 公告ID
     * @return 包含公告信息的Result对象
     */
    Result<?> getNoticeById(Integer id);

    /*
     * 管理员，模糊查询公告
     * */
    List<Notice> queryNotices(String title, String content, Integer publisherId, Integer isShow,String workNo);
    // 学生查询（只能查 is_show=1 的）
    List<Notice> queryPublishedNotices(String title, String content);

    Result<?> getNoticeStudentList();
    /*
     * 学生模糊查询公告
     * */


    /**
     * 查询公告列表
     * @return 包含公告列表的Result对象
     */
    Result<?> getNoticeList();

    /**
     * 删除公告
     * @param id 公告ID
     * @return 包含操作结果的Result对象
     */
    Result<?> deleteNotice(Integer id);
}
